import request from '@/api/axios'
import {AxiosPromise} from 'axios'
import {DataRecordList, DataRes, SeleteData} from '@/api/config'

//分页查询社区参数
export interface TeamParams {
  name?: string // 社区名称
  page?: number
  limit?: number
}

/**
 * @description: 社区列表数据
 * @return {*}
 */
export interface TeamList {
  id?: string
  name: string // 社区名称
  leader: string // 负责人
  phone: string // 联系电话
  regionName?: string // 行政地址
  address: string // 详细地址
  teamAddress?: string // 团队地址拼接
  districtCode: string //行政区域编码
  parentCode: string //上级行政区域编码
  provinceCode: string //省级行政区域编码
  districtArr?: Array<string>
}

// 社区下拉带出社区地址
export interface SelectTeamLsit extends SeleteData {
  address:string // 居住地址，是社区中地址和详细地址的拼接
}

/**
 * @description: 获取社区列表
 * @return {*}
 */
export const getTeamList = (
  params: TeamParams
): AxiosPromise<DataRecordList<TeamList>> => {
  return request({
    url: '/api/team/page',
    method: 'get',
    params
  })
}

/**
 * @description: 保存社区
 * @return {*}
 */
export const saveTeamInfor = (
  data: Partial<TeamList>
): AxiosPromise<DataRes<null>> => {
  return request({
    url: '/api/team/save',
    method: 'post',
    data
  })
}

/**
 * @description: 删除社区
 * @return {*}
 */
export const deleteTeam = (params: {
  teamId: string | undefined //社区id
}): AxiosPromise<DataRes<null>> => {
  return request({
    url: '/api/team/delete',
    method: 'post',
    params
  })
}

/**
 * @description: 获取社区列表所有数据
 * @return {*}
 */
export const getTeamListAll = (): AxiosPromise<DataRes<Array<TeamList>>> => {
  return request({
    url: '/api/team/list',
    method: 'get'
  })
}
